﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ApuestaJMG.GUI.Contrato;
using Datos.Entidades;
using ApuestasJMG.GUI.Contrato;
using Logica.Comandos.ComandosAdministracionEvento;
using Datos.Entidades.FabricaEntidades;
using Logica.Comandos;
using Logica.FabricaLogica;

namespace ApuestasJMG.GUI.Presentador
{
    public class PresentadorGestionResultado
    {

        private IContratoGestionResultado2 _EventoCategoria;
        // private IContratoAgregarParticipante _creacionParticipante;
        private List<Entidad> misEventosCategorias = new List<Entidad>();
        private Entidad aaa = new Entidad();
        private Entidad aaaa = new Entidad();
        
        // <summary>
        /// presentador para hacer llamada a las interfaces de GestionEvento
        /// </summary>
        public PresentadorGestionResultado
            (IContratoGestionResultado2 obtenereventcat)
        {
            _EventoCategoria = obtenereventcat;
        }


        // <summary>
        /// procedimiento que consulta participante
        /// </summary>
        /// <param name="usuario">Participante a seleccionar dado evento</param>
        public void ConsultarParticipante(int id)
        {

            Comando comando = FabricaComandoEvento.ObtenerComandoBuscarEventoParticipante2();
            comando.Id = id;
            (comando as ComandoBuscarEventoParticipante2).Ejecutar();
            misEventosCategorias = comando.ListaEntidad;
            _EventoCategoria.Participante.DataSource = misEventosCategorias;
            _EventoCategoria.Participante.DataBind();

        }

        public void ConsultarParticipanteNombre(int id)
        {

            Comando comando = FabricaComandoEvento.ObtenerComandoBuscarEventoParticipante3();
            comando.Id = id;
            (comando as ComandoBuscarEventoParticipante3).Ejecutar();
            misEventosCategorias = comando.ListaEntidad;
            _EventoCategoria.Participante.DataSource = misEventosCategorias;
            _EventoCategoria.Participante.DataBind();

        }

        // <summary>
        /// procedimiento que consulta eventos
        /// </summary>
        /*
        public void obtenerEvento2()
        {
            Comando comando = FabricaComandoEvento.ObtenerComandoBuscarEvento();
            comando.Ejecutar();
            misEventosCategorias = comando.ListaEntidad;
            if (misEventosCategorias != null)
            {

                for (int i = 0; i < misEventosCategorias.Count; i++)
                {

                    _EventoCategoria.Evento.Items.Add((misEventosCategorias.ElementAt(i) as Evento).NombreEvento);

                }
                _EventoCategoria.Evento.DataBind();
            }

        }
        */
                // <summary>
        /// procedimiento que obtiene id_evento
        /// </summary>
        /// <param name="usuario">Evento a seleccionar dado nombre</param>
        public int obtenerEventoNOmbre(string nomb)
        {
            Comando comando = FabricaComandoEvento.ObtenerComandoBuscarEventoNombre();
            comando.Tipo = nomb;
            (comando as ComandoBuscarEventoNombre).Ejecutar();
            aaa = comando.Entidad;
            int id = (aaa as Evento).Id_Evento;
            return id;
        }

        // <summary>
        /// procedimiento que obtiene nombre de evento
        /// </summary>
        /// <param name="usuario">Evento dado id</param>

        public string obtenerCategoriaNOmbre2(int idd)
        {
            Comando comando = FabricaComandoEvento.ObtenerComandoBuscarEventoParticipante3();
            comando.Id = idd;
            (comando as ComandoBuscarEventoParticipante3).Ejecutar();
            aaaa = comando.Entidad;
            string id = (aaaa as Evento).NombreEvento;
            return id;
        }


        // <summary>
        /// procedimiento que obtiene posiciones de eventos
        /// </summary>
        /// <param name="usuario">Posiciones a seleccionar dado Id_Evento</param>

        public int obtenerCategoriaNOmbre3(int idd)
        {
            Comando comando = FabricaComandoEvento.ObtenerComandoBuscarEventoParticipante4();
            comando.Id = idd;
            (comando as ComandoBuscarEventoParticipante4).Ejecutar();
            aaaa = comando.Entidad;
            int id = (aaaa as Evento).Posiciones;
            return id;
        }

    }
}